package com.lekang.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lekang.common.core.domain.entity.SysUser;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lekang.common.annotation.Excel;
import com.lekang.common.core.domain.BaseEntity;

/**
 * 来访登记对象 visitor_registration
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
@Data
public class VisitorRegistration extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 来访类型 */
    @Excel(name = "来访类型")
    private String visitorType;

    /** 来访人姓名 */
    @Excel(name = "来访人姓名")
    private String visitorName;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 老人外键编号 */
    @Excel(name = "老人外键编号")
    private Long elderlyId;

    /** 来访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "来访时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long creator;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    private SysUser sysUser;
    private Elderly elderly;

    /** 额外字段1 */
    private String extraField1;


    /** 额外字段2 */
    @Excel(name = "额外字段2")
    private String extraField2;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setVisitorType(String visitorType) 
    {
        this.visitorType = visitorType;
    }

    public String getVisitorType() 
    {
        return visitorType;
    }

    public void setVisitorName(String visitorName) 
    {
        this.visitorName = visitorName;
    }

    public String getVisitorName() 
    {
        return visitorName;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setElderlyId(Long elderlyId) 
    {
        this.elderlyId = elderlyId;
    }

    public Long getElderlyId() 
    {
        return elderlyId;
    }

    public void setVisitTime(Date visitTime) 
    {
        this.visitTime = visitTime;
    }

    public Date getVisitTime() 
    {
        return visitTime;
    }

    public void setCreator(Long creator) 
    {
        this.creator = creator;
    }

    public Long getCreator() 
    {
        return creator;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setExtraField1(String extraField1) 
    {
        this.extraField1 = extraField1;
    }

    public String getExtraField1() 
    {
        return extraField1;
    }

    public void setExtraField2(String extraField2) 
    {
        this.extraField2 = extraField2;
    }

    public String getExtraField2() 
    {
        return extraField2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("visitorType", getVisitorType())
            .append("visitorName", getVisitorName())
            .append("phone", getPhone())
            .append("elderlyId", getElderlyId())
            .append("visitTime", getVisitTime())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("status", getStatus())
            .append("extraField1", getExtraField1())
            .append("extraField2", getExtraField2())
            .toString();
    }
}
